ea3c5b244756abfa00758958c340f499b5e835de,src/main/java/com/google/api/codegen/discovery/transformer/php/PhpSampleMethodToViewTransformer.java,PhpSampleMethodToViewTransformer,createSampleView,#SampleTransformerContext#,54
Before Change
.serviceTypeName(serviceTypeName)
.methodVerb(methodInfo.verb())
.methodNameComponents(methodInfo.nameComponents())
.hasRequestBody(hasRequestBody)
.hasResponse(hasResponse)
.requiredFields(requiredFields)
.methodCallFieldVarNames(methodCallFieldVarNames)
.isPageStreaming(methodInfo.isPageStreaming())
.hasMediaUpload(methodInfo.hasMediaUpload())
.hasMediaDownload(methodInfo.hasMediaDownload())
After Change
SampleAuthView sampleAuthView = createSampleAuthView(context);
List<SampleFieldView> requiredFields = new ArrayList<>();
List<SampleFieldView> optionalFields = new ArrayList<>();
List<String> methodCallFieldVarNames = new ArrayList<>();
for (FieldInfo field : methodInfo.fields().values()) {
// Optional fields are excluded from the symbol table because the field
// names are the keys of a map.
SampleFieldView sampleFieldView =
createSampleFieldView(field, context, symbolTable, field.required());
if (sampleFieldView.required()) {
requiredFields.add(sampleFieldView);
methodCallFieldVarNames.add(sampleFieldView.name());
} else {
optionalFields.add(sampleFieldView);
}
}
boolean hasRequestBody = methodInfo.requestBodyType() != null;
List<SampleFieldView> requestBodyFields = new ArrayList<>();
if (hasRequestBody) {
String requestBodyVarName = symbolTable.getNewSymbol(namer.getRequestBodyVarName());
builder.requestBodyVarName(requestBodyVarName);
builder.requestBodyTypeName(
typeTable.getTypeName(methodInfo.requestBodyType()).getNickname());
methodCallFieldVarNames.add(requestBodyVarName);
for (FieldInfo fieldInfo : methodInfo.requestBodyType().message().fields().values()) {
requestBodyFields.add(createSampleFieldView(fieldInfo, context, symbolTable, true));
}
}
boolean hasResponse = methodInfo.responseType() != null;
if (hasResponse) {
builder.responseVarName(symbolTable.getNewSymbol(namer.getResponseVarName()));
}
String optParamsVarName = "";
if (methodInfo.isPageStreaming()
|| methodInfo.hasMediaDownload()
|| !optionalFields.isEmpty()) {
optParamsVarName = namer.localVarName(Name.lowerCamel("optParams"));
methodCallFieldVarNames.add(optParamsVarName);
}
return builder
.templateFileName(TEMPLATE_FILENAME)
.outputPath(context.getMethodName() + ".frag.php")
.apiTitle(config.apiTitle())
.apiName(config.apiName())
.apiVersion(config.apiVersion())
.appName(namer.getSampleApplicationName(config.apiCanonicalName()))
.auth(sampleAuthView)
.serviceVarName(serviceVarName)
.serviceTypeName(serviceTypeName)
.methodVerb(methodInfo.verb())
.methodNameComponents(methodInfo.nameComponents())
.hasRequestBody(hasRequestBody)
.requestBodyFields(requestBodyFields)
.hasResponse(hasResponse)
.requiredFields(requiredFields)
.optionalFields(optionalFields)
.methodCallFieldVarNames(methodCallFieldVarNames)
.isPageStreaming(methodInfo.isPageStreaming())
.hasMediaUpload(methodInfo.hasMediaUpload())
.hasMediaDownload(methodInfo.hasMediaDownload())